@echo off
echo 网络云运维日报故障处理上报系统
echo ===============================
echo.

echo 请选择启动模式:
echo 1. 一键启动（前后端同时启动）
echo 2. 仅启动后端服务
echo 3. 仅打开前端页面
echo 4. 分别启动前后端（打开两个命令行窗口）
echo.
choice /c 1234 /m "请选择启动模式"

if errorlevel 4 goto separate_start
if errorlevel 3 goto frontend_only
if errorlevel 2 goto backend_only
if errorlevel 1 goto all_start

:all_start
echo.
echo 正在一键启动前后端服务...
echo.

REM 检查Python是否安装
python --version >nul 2>&1
if %errorlevel% neq 0 (
    echo 错误: 未找到Python，请先安装Python 3.7或更高版本
    pause
    exit /b 1
)

REM 安装依赖（如果尚未安装）
echo 正在检查并安装依赖...
pip install -r requirements.txt

REM 检查Excel文件是否存在
echo 正在检查Excel文件...
REM 检查是否存在符合命名规范的Excel文件
set FOUND_FILE=0
for /f "tokens=*" %%i in ('dir "*.xlsx" /b 2^>nul') do (
    echo Found Excel file: %%i
    set FOUND_FILE=1
    goto :continue_check
)
:continue_check
if %FOUND_FILE% equ 0 (
    echo 警告: 未找到Excel文件
    echo 请确保项目根目录下存在符合命名规范的Excel文件:
    echo "网络云运维日报故障处理上报2025年MM月-陕西省.xlsx"
    echo.
)

REM 启动后端服务器
echo.
echo 正在启动后端服务器...
start "后端服务器" python start_backend.py

REM 等待几秒钟让服务器启动
timeout /t 8 /nobreak >nul

REM 检查服务器是否启动成功
echo.
echo 正在检查服务器状态...
curl.exe -s http://localhost:8000 >nul 2>&1
if %errorlevel% neq 0 (
    echo 警告: 服务器可能未成功启动，请检查命令行窗口
) else (
    echo 服务器启动成功
)

REM 打开前端页面
echo.
echo 正在打开前端页面...
start http://localhost:8000/static/index.html

echo.
echo 系统启动完成！
echo 后端API地址: http://localhost:8000
echo 前端页面地址: http://localhost:8000/static/index.html
echo.
echo 请勿关闭此窗口，它是服务器运行所必需的
goto end

:backend_only
echo.
echo 正在启动后端服务...
start "后端服务器" python start_backend.py
echo.
echo 后端服务已启动，请查看新打开的命令行窗口
echo 后端API地址: http://localhost:8000
echo.
echo 如需启动前端，请运行: python start_frontend.py
goto end

:frontend_only
echo.
echo 正在打开前端页面...
python start_frontend.py
goto end

:separate_start
echo.
echo 正在分别启动前后端...
start "后端服务器" cmd /k python start_backend.py
timeout /t 2 /nobreak >nul
start "前端页面" cmd /k python start_frontend.py
echo.
echo 已分别启动前后端，请查看新打开的两个命令行窗口
goto end

:end
echo.
pause